/**
 * 
 */
package com.epart.widget.support;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.epart.widget.module.board.BoardDao;
import com.epart.widget.module.login.LoginDao;
import com.epart.widget.module.wcmswidget.WcmsWidgetDao;
import com.epart.widget.util.PropertyUtil;

/**
 * Dao팩토리 클래스
 * 
 * @author cwsong
 * @version 2011. 3. 11.
 */
public class DaoFactory {

	private static Connection connection;

	/**
	 * 디폴트 생성자, 생성자에서 커넥션을 생성한다.<br>
	 * 
	 */
	public DaoFactory() {
		try {

			String url = PropertyUtil.getPropertyValue("db.url");
			String user = PropertyUtil.getPropertyValue("db.username");
			String password = PropertyUtil.getPropertyValue("db.password");

			if (connection == null) {
				Class.forName("oracle.jdbc.driver.OracleDriver");
				connection = DriverManager.getConnection(url, user, password);
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 기본Dao를 반환한다.
	 * 
	 * @return 기본 Dao
	 */
	public WcmsWidgetDao getWcmsWidgetDao() {
		return new WcmsWidgetDao(connection);
	}

	/**
	 * 로그인Dao를 반환한다.
	 * 
	 * @return 로그인Dao
	 */
	public LoginDao getLoginDao() {
		return new LoginDao(connection);
	}

	/**
	 * 게시판Dao를 반환한다.
	 * 
	 * @return 게시판Dao
	 */
	public BoardDao getBoardDao() {
		return new BoardDao(connection);
	}

}
